export default {
    install(Vue){
        // 全局过滤器
        Vue.filter('mySlice', function (value) {
            return value.slice(0,4);
        })
        // 自定义指令v-focusbind
        Vue.directive('focusbind', {
             // 指令和元素绑定时被调用
             bind (el, binding, vnode) {
                el.value=binding.value
                console.log('bind')
            },
            // 指令所在的元素被插入页面时
            // 获取焦点，父元素。。。
            inserted (el, binding, vnode) {
                console.log('inserted')
                el.focus()
            },
            // 指令所在的模板重新解析时
            update (el, binding, vnode, oldVnode) {
                console.log('update')
                el.value=binding.value
            },
        })
        // 定义混入mixin
        Vue.mixin({
            data() {
                return {
                    x:100,
                    y:200
                }
            },
        })

        // 给vue原型上添加一个方法 (vm和vc都可以使用)
        Vue.prototype.hello = ()=>{alert('你好')}

    }
} 